package ljl.bilibili.chat.constant;

/**
 * 该类用于定义和存储聊天应用中的常量
 */
public class Constant {
    /**
     * WebSocket连接路径
     */
    public static final String WEBSOCKET_CONNECT_PATH = "/ljl/bilibili/chat";

    /**
     * 消息类型的键
     */
    public static final String MESSAGE_TYPE = "type";

    /**
     * 大模型消息类型
     */
    public static final String MESSAGE_TYPE_BIGMODEL = "bigmodel";

    /**
     * 文本消息类型
     */
    public static final String MESSAGE_TYPE_MESSAGE = "message";

    /**
     * 移除会话消息类型
     */
    public static final String MESSAGE_TYPE_REMOVE_SESSION = "removeSession";

    /**
     * 初始化消息类型
     */
    public static final String MESSAGE_TYPE_INIT = "init";

    /**
     * 消息内容的键
     */
    public static final String MESSAGE_CONTENT = "content";

    /**
     * 会话ID的消息类型
     */
    public static final String MESSAGE_TYPE_SESSIONID = "sessionId";

    /**
     * 用户身份标识的键
     */
    public static final String USER_IDENTITY = "userId";

    /**
     * 大模型问题消息类型
     */
    public static final String MESSAGE_TYPE_BIGMODEL_QUESTION = "question";

    /**
     * 接收者身份标识的键
     */
    public static final String RECEIVER_IDENTITY = "receiverId";

    /**
     * 消息状态的键
     */
    public static final String MESSAGE_STATUS = "status";

    /**
     * 通义灵码服务的WebSocket地址
     */
    public static final String hostUrl = "wss://spark-api.xf-yun.com/v3.5/chat";

    /**
     * 应用ID
     */
    public static final String appId = "8d006b89";

    /**
     * API密钥
     */
    public static final String apiSecret = "ZGQ0YjAxMDM4NzY4MzU0NmQ0MmViNGE5";

    /**
     * API密钥
     */
    public static final String apiKey = "5809c62892d33b53c35ab48e0fd28ba7";

    /**
     * 助手角色标识
     */
    public static final String ASSISTANT_ROLE = "assistant";

    /**
     * 用户角色标识
     */
    public static final String USER_ROLE = "user";

    /**
     * 模型应用ID的键
     */
    public static final String MODEL_APP_ID = "app_id";

    /**
     * 会话用户ID的键
     */
    public static final String SESSION_UID = "uid";

    /**
     * 模型领域标识的键
     */
    public static final String MODEL_DOMAIN = "domain";

    /**
     * 模型领域值
     */
    public static final String MODEL_DOMAIN_VALUE = "generalv3.5";

    /**
     * 模型温度的键
     */
    public static final String MODEL_TEMPERATURE = "temperature";

    /**
     * 模型最大令牌数的键
     */
    public static final String MODEL_MAX_TOKENS = "max_tokens";

    /**
     * 模型参数标识的键
     */
    public static final String MODEL_PARAMETER = "chat";

    /**
     * 消息文本的键
     */
    public static final String MESSAGE_TEXT = "text";

    /**
     * 负载消息的键
     */
    public static final String PAYLOAD_MESSAGE = "message";

    /**
     * 请求头的键
     */
    public static final String REQUEST_HEADER = "header";

    /**
     * 请求参数的键
     */
    public static final String REQUEST_PARAMTER = "parameter";

    /**
     * 请求负载的键
     */
    public static final String REQUEST_PAYLOAD = "payload";
}
